package collection01;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Collection;
import java.util.Arrays;
public class CollectionDemo2 {
    public static void main(String[] args) {
        //Collection c = new HashSet();
        Collection c = new ArrayList();
        c.add(new Point(1,2));
        c.add(new Point(3,4));
        c.add(new Point(5,6));
        c.add(new Point(7,8));
        c.add(new Point(9,0));

        boolean b = c.add(new Point(1,2));
        System.out.println(b);//对于HashSet集而言为false, 因为是否重复取决于元素的equals()结果
                              //对于ArrayList集而言为true, 因为ArrayList是可重复集

        //[元素1.toString(), 元素2.toString(), 元素3.toString(),...]
        System.out.println(c);//[(1,2), (3,4), (5,6), (7,8), (9,0), (1,2)]


        /*
            boolean contains(object o);
            判断集合是否包含o, 若包含则返回true, 否则返回false
            判断依据是给顶元素与当前集合中元素是否存在equals()为true的情况
         */
        Point p = new Point(1,2);
        boolean contains = c.contains(p);//e判断依据是给定元素与当前集合元素是否存在equals()为true的情况
        System.out.println("是否包含: "+contains);//true

        /*
            boolean remove(Object o): -------- 一般不接受boolean结果
            从当前集合中删除与给顶元素o的equals()比较为true的元素, 删除成功则为ture, 失败则为false
            若存在重复元素则只删除第一次匹配的元素
         */
        boolean remove = c.remove(p);
        System.out.println("是否删除: "+remove);
        System.out.println(c);

    }
}
